Komponenty na panelu a OnClick

Otázka od: jimys@centrum.cz

11. 6. 2004 10:51

Ale jo, tohle chapu, to je mi jasny. Jen dam priklad. Budu mit Panel a na nem
10 Labelu. Budu chtit, abych kdykoliv kliknu nekde v Panelu, aby se treba
zmenil nadpis formulare. Kdyz obslouzim OnClick Panelu, funguje to, pokud se
mysi netrefim na nejaky label. Musim tudiz obsluhovat takhle i vsechny OnClick
tech Labelu? Nestaci obslouzit OnClick Panelu, kterej je jejich parent?

Jirka

>Jasne, ze jde. Pomoci Shift+Click vyber ty co chces a pak Events vyber
>(nebovytvor) odpovidajici akci.

>--
>Jiri Cincura
>e-mail: mailto:jiri@cincura.net; mailto:xcincura@informatics.muni.cz
> ICQ: 314711544
>Web: http://www.cincura.net; http://cincura.net/photo


> Ahoj,
>
> chci se zeptat, mam na Panelu nejake komponenty - treba Labely.
Je
> nutne definovat stejnou udalost (treba OnClick) pro kazdej
Label?
> Nejde nejak definovat jen OnClick toho panelu, kdyz jsou vsechny
> Labely jeho potomky? Kdyz nadefinuju OnClick pro panel, udalost
se v
> poradku obslouzi jen tehdy, pokud kliknu na Panel - nikoliv
pokud
> kliknu na Label...


Odpovedá: Jiri Cincura

11. 6. 2004 10:22

jimys@centrum.cz wrote:
> Ahoj,
>
> chci se zeptat, mam na Panelu nejake komponenty - treba Labely. Je
> nutne definovat stejnou udalost (treba OnClick) pro kazdej Label?
> Nejde nejak definovat jen OnClick toho panelu, kdyz jsou vsechny
> Labely jeho potomky? Kdyz nadefinuju OnClick pro panel, udalost se v
> poradku obslouzi jen tehdy, pokud kliknu na Panel - nikoliv pokud
> kliknu na Label...


Jasne, ze jde. Pomoci Shift+Click vyber ty co chces a pak Events vyber (nebo
vytvor) odpovidajici akci.

--
Jiri Cincura
e-mail: mailto:jiri@cincura.net; mailto:xcincura@informatics.muni.cz
ICQ: 314711544
web: http://www.cincura.net; http://cincura.net/photo


Odpovedá: mato

11. 6. 2004 11:46

on asi myslel za chodu programu v kode.

> >
> > chci se zeptat, mam na Panelu nejake komponenty - treba Labely. Je
> > nutne definovat stejnou udalost (treba OnClick) pro kazdej Label?
> > Nejde nejak definovat jen OnClick toho panelu, kdyz jsou vsechny
> > Labely jeho potomky? Kdyz nadefinuju OnClick pro panel, udalost se v
> > poradku obslouzi jen tehdy, pokud kliknu na Panel - nikoliv pokud
> > kliknu na Label...
>
>
> Jasne, ze jde. Pomoci Shift+Click vyber ty co chces a pak Events vyber
(nebo
> vytvor) odpovidajici akci.
>



Odpovedá: Jiri Cincura

11. 6. 2004 11:37

jimys@centrum.cz wrote:
> Ale jo, tohle chapu, to je mi jasny. Jen dam priklad. Budu mit Panel
> a na nem 10 Labelu. Budu chtit, abych kdykoliv kliknu nekde v Panelu,
> aby se treba zmenil nadpis formulare. Kdyz obslouzim OnClick Panelu,
> funguje to, pokud se mysi netrefim na nejaky label. Musim tudiz
> obsluhovat takhle i vsechny OnClick tech Labelu? Nestaci obslouzit
> OnClick Panelu, kterej je jejich parent?
>

Jako, ze mas jednu funkci povesenou na OnClick panelu a chces aby fungovala
i pro Label?

A nestaci dat OnClick vsech Labelu na OnClick Panelu?


--
Jiri Cincura
e-mail: mailto:jiri@cincura.net; mailto:xcincura@informatics.muni.cz
ICQ: 314711544
web: http://www.cincura.net; http://cincura.net/photo


Odpovedá: Radek Szurman

11. 6. 2004 11:29

projede komponenty a jsou li label tak nastavi onclick udalost panelu1  

 for index:=0 to FrmMain.ComponentCount-1 do
    begin
    if Components[index].ClassName = 'TLabel' then

TLabel(Components[Index]).OnClick := Panel1Click;
    end;

Radek Szurman